home *** CD-ROM | disk | FTP | other *** search
- Short: CheckStack tool for WarpUP including Source
- Author: SteffenH@hyperion-software.de
- Uploader: SteffenH@hyperion-software.de
- Type: dev/debug
-
- This is a tiny tool useful for debugging (including Source). This is
- interesting for people developing PPC Software and for Beta testers (to be
- able to give the Developers very detailed bugreports).
- If you get a PPC Crash requester due to a bug in your program, you can do:
-
- gcc-WarpOS: checkstack <Address of the Crash> <A number>
- StormC or vbcc-WarpOS or StormC-gcc: checkpo <Address of the Crash> <A number>
-
- The "Address of the Crash" is the number in the r1 register (listed in the
- Crash Requester). There are two different tools, as gcc-WarpOS uses internally
- System V ABI, while the other compilers use PowerOpen.
-
- You then get a stacktrace of <A number> deep output (each address points to one
- step in the calling-hierarchy of the crash). If the hierarchy ends (you are at
- top level) checkstack/checkpo aborts in advance.
-
- Then you do: (memowner is not included in this archive, you need it seperately)
-
- memowner <The Address checkstack/checkpo did output>
-
- for all of them. For each you get an output like
-
- Address - Owner
- -------- -----
- 090A7464 - in SegList of MyProgramPPC Hunk 0001 Offset 0015b47c
- 090A7464 - in SegList of Process 0x08BF8160: Shell Process (MyProgramPPC)
-
- Then you do (or if you are a Betatester the developer of the program does, after
- you gave him the output of the memowner-calling, note that the developer needs
- to compile the program with debugging support in order for this to work):
-
- For PowerOpen-based-Compilers: (FindHit is not included, you need to get it seperately)
-
- FindHit <Program Name> <Hunk> <Offset>
-
- (You will get the source line of the code JUST AFTER the function which CALLED the crashed function).
-
- For gcc-WarpOS (not StormC-gcc !!! StormC-gcc is PowerOpen bassed and uses FindHit !!!)
-
- pobjdump -d MyProgramPPC.woself --start-address = <Offset>
-
- Here you get directly the address of the function which called the crashed function.
- You only get an offset into the ASM code of the function and the name of the function,
- and not the source code line like for PowerOpen-based compilers.
-
- It is important that (for gcc-WarpOS) you did call the program with the executable,
- which was got by elf2exe2 (the normal thing for gcc-WarpOS compiled programs). But
- pobjdump gets the WarpOS-Elf as parameter. It is of course important that exe and
- WarpOS-ELF are from the same version of the source code, else it won't work.
-
- To use this debugging-help you need one more thing installed, BTW: You need segtracker,
- which is not included in this archive.
-
- In case of any questions feel free to pass me an email to SteffenH@hyperion-software.de
- or MagicSN@Birdland.es.bawue.de
-
-
- ============================= Archive contents =============================
-
- Original Packed Ratio Date Time Name
- -------- ------- ----- --------- -------- -------------
- 427 245 42.6% 15-Sep-00 17:11:34 checkpo.c
- 33368 16533 50.4% 15-Sep-00 17:12:54 checkstack
- 389 237 39.0% 15-Sep-00 17:12:52 checkstack.c
- 33408 16532 50.5% 15-Sep-00 17:12:22 checkpo
- -------- ------- ----- --------- --------
- 67592 33547 50.3% 16-Sep-100 17:59:44 4 files
-